package com.nervenets.web.controller.handler.user.wealth;

import com.nervenets.web.annotation.NeedValidation;
import com.nervenets.web.controller.handler.common.TokenParams;
import com.nervenets.web.enumeration.OrderType;
import com.nervenets.web.enumeration.PayType;
import com.nervenets.web.validation.Type;
import lombok.Data;
import lombok.EqualsAndHashCode;

@EqualsAndHashCode(callSuper = true)
@Data
public class UserPayParams extends TokenParams {
    @NeedValidation(type = Type.EMPTY, description = "订单ID，再次支付使用")
    private long orderId;
    @NeedValidation(type = Type.POSITIVENUMBER, description = "购买数量或充值金额")
    private int number;
    @NeedValidation(type = Type.NOTEMPTY, description = "订单类型")
    private OrderType orderType;
    @NeedValidation(type = Type.EMPTY, description = "关联ID，根据相应的类型传相应的ID")
    private int unionId;
    @NeedValidation(type = Type.NOTEMPTY, description = "支付方式")
    private PayType payType;
    @NeedValidation(type = Type.NUMBER, description = "余额抵扣度，不抵扣传0")
    private int surplus = 0;
    @NeedValidation(type = Type.NOTEMPTY, description = "是否是线下支付的订单")
    private boolean offlinePay;
    @NeedValidation(type = Type.EMPTY, description = "留言")
    private String remark;
    @NeedValidation(type = Type.EMPTY, description = "姓名")
    private String name;
    @NeedValidation(type = Type.EMPTY, description = "电话")
    private String mobile;
    @NeedValidation(type = Type.EMPTY, description = "收货地址")
    private String address;
    @NeedValidation(type = Type.EMPTY, description = "邀请人ID")
    private String inviteCode;
}
